package com.woniu.custom.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 
 * @TableName zy_custom
 */
@TableName(value ="zy_custom")
@Data
public class ZyCustom implements Serializable {
    /**
     * 客户id
     */
    @TableId
    private String id;

    /**
     * 对应的用户id
     */
    private String userId;

    /**
     * 客户名称
     */
    private String customName;

    /**
     * 受理电话
     */
    private String customPhone;

    /**
     * 客户积分
     */
    private BigDecimal customPoint;

    /**
     * 联系人
     */
    private String customContactPerson;

    /**
     * 联系电话
     */
    private String customContactPhone;

    /**
     * 客户等级id
     */
    private String customLevelId;

    /**
     * 客户状态 1.正常 2.欠费 3.拉黑删除（注销
     */
    private Integer customStates;

    /**
     * 客户创建/签约时间
     */
    private Date customCreateTime;

    /**
     * 客户创建经手人/负责人/创建者
     */
    private String customCreateBy;

    /**
     * 客户信息最新修改时间
     */
    private Date customUpdateTime;

    /**
     * 客户信息修改者
     */
    private Date customUpdateBy;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ZyCustom other = (ZyCustom) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
            && (this.getCustomName() == null ? other.getCustomName() == null : this.getCustomName().equals(other.getCustomName()))
            && (this.getCustomPhone() == null ? other.getCustomPhone() == null : this.getCustomPhone().equals(other.getCustomPhone()))
            && (this.getCustomPoint() == null ? other.getCustomPoint() == null : this.getCustomPoint().equals(other.getCustomPoint()))
            && (this.getCustomContactPerson() == null ? other.getCustomContactPerson() == null : this.getCustomContactPerson().equals(other.getCustomContactPerson()))
            && (this.getCustomContactPhone() == null ? other.getCustomContactPhone() == null : this.getCustomContactPhone().equals(other.getCustomContactPhone()))
            && (this.getCustomLevelId() == null ? other.getCustomLevelId() == null : this.getCustomLevelId().equals(other.getCustomLevelId()))
            && (this.getCustomStates() == null ? other.getCustomStates() == null : this.getCustomStates().equals(other.getCustomStates()))
            && (this.getCustomCreateTime() == null ? other.getCustomCreateTime() == null : this.getCustomCreateTime().equals(other.getCustomCreateTime()))
            && (this.getCustomCreateBy() == null ? other.getCustomCreateBy() == null : this.getCustomCreateBy().equals(other.getCustomCreateBy()))
            && (this.getCustomUpdateTime() == null ? other.getCustomUpdateTime() == null : this.getCustomUpdateTime().equals(other.getCustomUpdateTime()))
            && (this.getCustomUpdateBy() == null ? other.getCustomUpdateBy() == null : this.getCustomUpdateBy().equals(other.getCustomUpdateBy()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
        result = prime * result + ((getCustomName() == null) ? 0 : getCustomName().hashCode());
        result = prime * result + ((getCustomPhone() == null) ? 0 : getCustomPhone().hashCode());
        result = prime * result + ((getCustomPoint() == null) ? 0 : getCustomPoint().hashCode());
        result = prime * result + ((getCustomContactPerson() == null) ? 0 : getCustomContactPerson().hashCode());
        result = prime * result + ((getCustomContactPhone() == null) ? 0 : getCustomContactPhone().hashCode());
        result = prime * result + ((getCustomLevelId() == null) ? 0 : getCustomLevelId().hashCode());
        result = prime * result + ((getCustomStates() == null) ? 0 : getCustomStates().hashCode());
        result = prime * result + ((getCustomCreateTime() == null) ? 0 : getCustomCreateTime().hashCode());
        result = prime * result + ((getCustomCreateBy() == null) ? 0 : getCustomCreateBy().hashCode());
        result = prime * result + ((getCustomUpdateTime() == null) ? 0 : getCustomUpdateTime().hashCode());
        result = prime * result + ((getCustomUpdateBy() == null) ? 0 : getCustomUpdateBy().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", userId=").append(userId);
        sb.append(", customName=").append(customName);
        sb.append(", customPhone=").append(customPhone);
        sb.append(", customPoint=").append(customPoint);
        sb.append(", customContactPerson=").append(customContactPerson);
        sb.append(", customContactPhone=").append(customContactPhone);
        sb.append(", customLevelId=").append(customLevelId);
        sb.append(", customStates=").append(customStates);
        sb.append(", customCreateTime=").append(customCreateTime);
        sb.append(", customCreateBy=").append(customCreateBy);
        sb.append(", customUpdateTime=").append(customUpdateTime);
        sb.append(", customUpdateBy=").append(customUpdateBy);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}